#include <stdio.h>
#include <unistd.h>
#include <signal.h>

void sigcallback(int signo)
{
    printf("signo is %d\n",signo);
}
int main()
{
    /*
     * 怎样判断当前进程收到某个信号？
     *1.更改信号的处理方式
     *  1.1非可靠信号：2号信号
     *  1.2可靠信号：40号信号
     *2.阻塞所有信号
     *3.给当前进程发送多次2号信号和40号信号
     *4.解除所有信号的阻塞
     *5.观察现象
     */
    signal(19,sigcallback);
    signal(20,sigcallback);

    sigset_t set;
    sigfillset(&set);//所有比特位置为1

    sigset_t oldblock;

    sigprocmask(SIG_SETMASK,&set,&oldblock);

    getchar();

    sigprocmask(SIG_SETMASK,&oldblock,NULL);

    return 0;
}
